The present invention relates to a receiver clock system, and more particularly, to a method and system for estimating and compensating for variations between a transmitter clock and a receiver clock to facilitate error free sampling of nibble pulses in a received data frame.
With the advent of communication technologies, there have been rapid developments in communication systems and communication hardware. In various electronic communication systems, the data transferred from a sensor to an engine control unit (ECU) with serial data frames, where each data frame comprises bits that may be decoded to obtain the serial data. A method of data transmission in such systems follows a communication protocol defined by the Single Edge Nibble Transmission (SENT) specification. In accordance with the SENT specification, each data frame comprises a calibration pulse (also referred to as a sync pulse or synchronization pulse), a status and communication pulse, one to six nibble pulses, a cyclic redundancy check (CRC) nibble pulse and an optional pause pulse.
The data frame received at the ECU receiver is detected using a receiver clock. The receiver clock must be adjusted to compensate for variation present in the sensor or transmitting device clock. The calibration pulse is used to compensate for any such variations. The compensated or adjusted receiver clock is then used to accurately measure the received nibble pulses in the data frame. Additionally, the measured nibble pulses may be required to make adjustments in the measured nibble pulse length in order to compensate for variations due to clock compensation, synchronization, drift and jitter.
The generation of an accurate receiver clock requires estimation and adjustment of frequency variations in the transmitter or sensor clock and adjustment for other errors. In traditional receiver systems, these processes require floating point calculations, which lead to excessive consumption of area and power. The floating point calculations also require high precision and any error that is introduced during the calculation leads to incorrect sampling of received nibble pulses. The floating point calculation also puts a restriction on maximum operating frequency. The implementation becomes even more complex with an increase in the number of receiver channels.
It would be advantageous to have a receiver system that can compensate and adjust transmitter clock variations in an efficient manner without using floating point calculations. It also would be advantageous to have a receiver system that uses less area and consumes less power. The receiver system also should measure the received data with high accuracy and not limit maximum operating frequency.